home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
C64
/
E-Education
/
(c)ed4.d64
/
tic tac arithmet
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2007-02-04
|
10KB
|
324 lines
1 GOTO910
2 PRINT"x[169][141][169][141]X` [234][255][169][255][133][145]L4[234]x[169]1[141][169][234][141]X`
3 [153]"xSTEPGINPUTSTOPSTEPINPUTONX` (null)(null)STEP(null)INPUTLISTLX(null)xSTEPUINPUTSTOPSTEP(null)INPUTONX`
4 PRINT"xhhh[170]h[168]hhhhhhh[152]H[138]HX`
5 [153]"hhhhhhh`
6 PRINT"[160][255][200][132][251][169][216][133][252] [241][183][138][162][160][255][200][145][251][136][208][251][230][252][202][208][246]`
7 [153]"NEWCLOSE(null)LEFT$>(null)ON(null)LET(null)(null)(null)(null)(null)(null)MID$(null)(null)`
35 IFUW=0THENSYSUU,15
40 POKEUC,0:POKEUN,0:UR$="":UI$="":IFUL=0THENUL=39
45 GETUI$:IFUI$=""THEN45
50 UA=ASC(UI$):UR=LEN(UR$):IFUA=13ANDUR>0THENPOKEUC,1:PRINT" [157]";:GOTO75
55 IFUA=20THENON-(UR=0)GOTO45:UR$=LEFT$(UR$,UR-1):PRINT"[157] [157][157]";:GOTO45
60 IFUR=ULTHEN45
65 GOSUB95:UR$=UR$+UI$:PRINTUI$;:GOTO45
75 FORUI=URTO1STEP-1:IFMID$(UR$,UI,1)=" "THENNEXT
80 UR$=LEFT$(UR$,UI):PRINT:RETURN
95 IFLEN(US$)=0THEN110
100 FORUI=1TOLEN(US$):IFUI$<>MID$(US$,UI,1)THENNEXT:UI$=""
105 RETURN
110 IFUA=46THENRETURN
115 IFUA=32ANDUR<>0THENRETURN
120 IFUA>47ANDUA<58THENRETURN
125 IFUA>64ANDUA<91THENRETURN
130 IFUA<193ORUA>218THENUI$="":RETURN
135 IFPEEK(UT)=UU%THENUI$=CHR$(UA-128)
140 RETURN
155 UZ=0:US$=UJ$:UG$=UK$:UT$=UL$:UP=UJ:UL=UK:PRINT"[147]";:POKEUY,6:POKEUX,6
160 POKEUT,UV%:POKE251,0:POKE252,UF:POKE253,0:POKE254,US/256:SYSUV:SYSUU,15
165 POKEU1,U1%:POKEU2,U2%:POKEU3,U3%-1:POKEU4,U4%:GOTO35
300 REM DERIVED FROM COMMODORE ONTARIO EDUCATIONAL SOFTWARE PROJECT 1983
310 REM PROJECT DIRECTOR: FRANK WINTER
320 REM PROGRAM NAME: TIC TAC ARITH
330 REM WRITTEN BY JO ANN COMITO
340 REM REVISED BY JENNIFER BRASCH"
350 [143] UPDATED BY BILL CUMBERLAND 90
400 [153]"LOAD":[151]UT,UL%:[151]UY,13:[151]UX,13:[151]646,0
405 [153]" RIGHT$(null)(null)(null)(null)(null)LEN(null)RIGHT$(null)(null)(null) WAIT
415 PRINT" [217]OU AND YOUR PARTNER CAN DO ARITHMETIC"
420 PRINT" AND PLAY TIC-TAC-TOE AT THE SAME TIME."
425 PRINT" [196]ECIDE WHO IS [216] AND WHO IS [207]."
430 PRINT" [217]OU CAN WIN A BOX BY ANSWERING THE"
435 PRINT" QUESTION IN THE BOX. [201]F YOU ANSWER"
440 PRINT" INCORRECTLY, YOUR PARTNER CAN TRY TO"
445 PRINT" WIN THAT BOX."
447 GOSUB 820:POKE646,0
450 PRINT"[147] [212]HE QUESTIONS IN THE BOXES MAY INCLUDE"
455 PRINT" ADDITION, SUBTRACTION, MULTIPLICATION"
458 PRINT" AND DIVISION."
460 PRINT" [212]HE QUESTIONS BEGIN AT A SIMPLE LEVEL,"
465 PRINT" BUT CAN BE MADE MORE DIFFICULT."
468 GOSUB820:RETURN
699 :
700 REM <YES>
705 SS=54272:FOREE=SSTOSS+28:POKEEE,0:NEXT
710 POKE54296,15:POKE54277,42:POKE54278,250
715 POKE54276,23:POKE54273,23:POKE54272,191
720 FORTM=1TO100:NEXT:POKE54276,32:FORTM=1TO200:NEXT
725 POKE54296,0:RETURN
730 REM <NO>
735 SS=54272:FOREE=SSTOSS+28:POKEEE,0:NEXT
740 POKE54296,15:POKE54277,18:POKE54278,242
745 POKE54276,33:POKE54273,4:POKE54272,48
750 FORTM=1TO300:NEXT:POKE54276,32:FORTM=1TO400:NEXT
755 POKE54296,0:RETURN
760 REM <BLIP>
765 SS=54272:FOREE=SSTOSS+28:POKEEE,0:NEXT
770 POKE54296,7:POKE54277,42:POKE54278,250
775 POKE54276,23:POKE54273,23:POKE54272,191
780 FORTM=1TO30:NEXT:POKE54276,32:FORTM=1TO50:NEXT
785 POKE54296,0:RETURN
790 FORTM=1TO500:NEXT:RETURN
791 FORTM=1TO1000:NEXT:RETURN
792 FORTM=1TO2000:NEXT:RETURN
793 FORTM=1TO3000:NEXT:RETURN
795 FORTM=1TO5000:NEXT:RETURN
800 PRINT"[147]";:POKEUT,UU%:POKEUY,0:POKEUX,0:POKE646,5
801 PRINT" A TPUG EDUCATIONAL PROGRAM
802 [153]" FOR C64 COMPUTERS
803 PRINT" GRADES 3-6
804 [153]" WAIT";
805 [153]" WAIT";
806 [153]" WAIT";
807 [153]" TIC TAC ARITHMETIC WAIT";
808 [153]" WAIT";
809 [153]" WAIT";
810 [153]" WAIT":[141]792:[141]760
811 [153]" INSTRUCTIONS? Y/N
812 GETUI$:IFUI$<>"Y"ANDUI$<>"N"THEN 812
813 IFUI$="Y"THEN GOSUB400
814 PRINT"[147] AND AWAY WE GO..............":GOSUB792:GOSUB700
815 GOTO1000
820 GOSUB791:GOSUB760
823 POKEUN,0:PRINTLEFT$(UD$,24);" [208]RESS [211][208][193][195][197] [194][193][210] TO CONTINUE [146]"
825 GETUI$:IFUI$<>" "THEN825
830 RETURN
835 GOSUB791:GOSUB760
837 POKEUN,0:PRINTLEFT$(UD$,24);" PRESS SPACE BAR TO CONTINUE [146]"
840 GETUI$:IFUI$<>" "THEN840
845 RETURN
850 UP=UP+1:PRINT"[147]"
860 IFUH=0THENPRINTLEFT$(UD$,24);LEFT$(UP$,7);"ANSWER, THEN PRESS RETURN[146]"
865 UH=0:PRINT"":RETURN
875 PRINTLEFT$(UD$,24);" ONE MOMENT PLEASE... ":RETURN
880 UP=UP+1:PRINT"[147]"LEFT$(UT$+UP$,21);RIGHT$(UP$+UG$+STR$(UP),18)
885 PRINT" --------------------------------------"
890 IFUH=0THENPRINTLEFT$(UD$,24);LEFT$(UP$,7);"HELP - PRESS H <RETURN>"
895 UH=0:PRINT"":RETURN
900 US=1024:U1=209:U2=210:U3=211:U4=214:UC=204:UB=2048:UX=53280:UD=2064
902 UT=53272:UU%=21:UL%=23:UP%=2151:UN=198:UY=53281:UU=2199:UE=2087
904 UC$=CHR$(155):UV=1214:UF=196:UV=2238
905 UD$="":UP$=" "
909 RETURN
910 GOSUB900:PRINT"[147] "
920 GOTO 800
1000 PRINT"[147]"UC$;:RESTORE:POKEUY,0:POKEUX,0
1002 UP=0
1180 UT$=" [212]IC [212]AC [193]RITH":UG$="GAME"
1200 REM
1220 IF DD$=""THEN DIM X$(6),O$(6),B$(7),OP$(4,5),AN(9,2)
1230 F=0
1240 DD$=""
1250 RR$=""
1260 B$(1)="[176][192][192][192][192][192][192][192][192][192][192][192][192][178][192][192][192][192][192][192][192][192][192][192][192][192][178][192][192][192][192][192][192][192][192][192][192][192][192][174]"
1270 B$(2)="[221]1 [221]2 [221]3 [221]"
1280 B$(3)="[221] [221] [221] [221]"
1290 B$(4)="[171][192][192][192][192][192][192][192][192][192][192][192][192][219][192][192][192][192][192][192][192][192][192][192][192][192][219][192][192][192][192][192][192][192][192][192][192][192][192][179]"
1300 B$(5)="[221]4 [221]5 [221]6 [221]"
1310 B$(6)="[221]7 [221]8 [221]9 [221]"
1320 B$(7)="[173][192][192][192][192][192][192][192][192][192][192][192][192][177][192][192][192][192][192][192][192][192][192][192][192][192][177][192][192][192][192][192][192][192][192][192][192][192][192][189]"
1330 X$(1)=" [205][223][146] [169][206][146] "
1340 X$(2)=" [223][205][223][169][206][146][169] "
1350 X$(3)=" [223][205][206][146][169] "
1360 X$(4)=" [169][206][205][223][146] "
1370 X$(5)=" [169][206][146][169][223][205][223][146] "
1380 X$(6)=" [206][146][169] [223][205][146] "
1390 O$(1)=" [169] [223][146] "
1400 O$(2)=" [169] [146] [223][146] "
1410 O$(3)=" [146] [146] "
1420 O$(4)=" [146] [146] "
1430 O$(5)=" [223] [146] [146][169] "
1440 O$(6)=" [223] [146][169] "
1520 PRINT"[147]";:POKE UT,UL%:GOSUB 850
1570 PRINT" [212]HE NUMBERS USED CAN RANGE FROM"
1580 PRINT" -99 TO 100. [212]HE NUMBERS TO BEGIN WITH"
1590 PRINT" WILL RANGE BETWEEN 0 AND 10."
1600 PRINT" [196]O YOU WANT TO DELETE ANY OF THE FOUR"
1610 PRINT" OPERATIONS OR CHANGE THE RANGE?":GOSUB760
1620 PRINT" [217] OR [206] ";
1630 UL=1:US$="YN":GOSUB 35:A$=UR$
1660 IF A$="N"ANDF=5THEN1740
1670 RESTORE
1680 FORI=1TO4:FORJ=1TO5:READOP$(I,J):NEXTJ,I
1690 DATA A + B," 0"," 10"," 0"," 10",A - B," 0"," 10"," 0"," 10"
1700 DATA"A [214] B"," 0"," 10"," 0"," 10","A / B"," 0","100"," 1"," 10"
1710 IFA$="N"THEN1740
1720 GOSUB2160 @CHANGE RANGE:EF=0:GOSUB2450 @CHECK RANGE
1730 IFEF=1THENA$="Y":RESTORE:FORI=1TO824:READJ:NEXTI:GOTO1680
1740 GOSUB2570 @PRINT BOXES
1750 FORI=1TO9:AN(I,2)=0:NEXTI
1760 GOSUB2640 @GENERATE PROBS
1770 N=N+1:IFN/2<>INT(N/2)THENPL$="X"
1780 IFN/2=INT(N/2)THENPL$="O"
1790 DD=22:RR=1:GOSUB2110
1800 UH=0:GOSUB860:PRINTLEFT$(UD$,23);
1801 GOSUB760:PRINT" PLAYER "PL$" [146] WHICH BOX DO YOU CHOOSE? [157][157][157][157][157][157]";
1810 UL=1:US$="123456789":GOSUB 35:BO$=UR$
1820 BO=VAL(BO$)
1830 IFUH=0THENPRINTLEFT$(UD$,24);LEFT$(UP$,7);" "
1840 IFBO>9THENPRINT"[145]";:GOTO1800
1850 IFAN(BO,2)<>0THENPRINT"[145]";:GOTO1800
1860 F=0
1870 GOSUB2780 @GOTO BOX-GET ANS
1880 FL=0:F=F+1
1890 IFAN(BO,1)=ANTHENGOSUB3360:GOSUB2930
1900 IFN=9ANDFL=1THEN2030
1910 IFFL=1THEN1770
1920 IFFL=2THEN2050
1930 DD=23:RR=17:GOSUB2110
1940 GOSUB730:PRINT"[150]WRONG![146][155][145]":GOSUB3310:FORI=1TO250:NEXTI
1950 IFF=2THEN2000
1960 IFPL$="X"THENPL$="O":GOTO1980
1970 IFPL$="O"THENPL$="X"
1980 DD=22:RR=1:GOSUB2110
1990 PRINT" PLAYER "PL$"[146] TRY BOX [157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157]"BO;
2000 DD=23:RR=17:GOSUB2110:PRINT" ";
2010 IFF=2THENGOSUB2780:GOTO1770
2020 GOTO1870
2030 FORI=1TO900:NEXTI
2040 PRINT"[147]IT IS A TIE!"
2050 FORI=1TO900:NEXTI
2060 UG$="GAME":GOSUB 850:PRINT" DO YOU WANT TO PLAY AGAIN? "
2065 PRINT" Y OR N ";
2070 UL=1:US$="YN":GOSUB 35:A$=UR$
2075 IF A$="Y"THENN=0:F=5:POKEUT,UU%:RESTORE:GOTO1600
2085 PRINT"[147] RETURNING TO THE MAIN MENU
2090 [147]"MENU",8
2094 [138]
2096 [128]
2110 PP$[178]""[170][200](DD$,DD)[170][200](RR$,RR)
2120 [153]PP$;:[142]
2130 [141] 835
2150 [142]
2160 UG$[178]"CHANGES":UP[178]UP[171]1:[141] 850
2165 [153]" BELOW IS A LIST OF THE OPERATIONS AND
2170 PRINT" THE CURRENT RANGES OF THE NUMBERS."
2180 PRINT" YOU MAY TYPE IN THE NEW RANGE TO THE "
2190 PRINT" RIGHT OF EACH LINE. IF YOU WISH TO "
2200 PRINT" LEAVE A LINE UNCHANGED, ENTER THE SAME"
2210 PRINT" RANGES. YOU MAY ELIMINATE AN OP-"
2220 PRINT" ERATION BY SETTING THE UPPER AND LOWER"
2230 PRINT" LIMITS TO 0."
2240 PRINT" [146][221]CURRENT[146][221]CURRENT[146][221] NEW [146][221] NEW [146][221]"
2250 PRINT" PROB [146][221]A-RANGE[146][221]B-RANGE[146][221]A-RANGE[146][221]B-RANGE[146][221]"
2260 PRINT" TYPE [146][221] LO[221] HI[146][221] LO[221] HI[146][221] LO[221] HI[146][221] LO[221] HI[146][221]"
2270 PRINT" [163][163][163][163][163][221]";:FORI=1TO8:PRINT"[163][163][163][221]";:NEXTI:PRINT
2280 FORI=1TO4:PRINT" ";
2290 FORJ=1TO5:PRINTOP$(I,J);"[221]";:NEXTJ
2300 FORJ=1TO4:PRINT" [221]";:NEXTJ:PRINT
2310 PRINT" [221]";:FORJ=1TO8:PRINT" [221]";:NEXTJ:PRINT
2320 NEXTI
2330 N0=0:FORDD=15TO21STEP2
2340 FORRR=22TO34STEP4
2350 T1$=""
2360 GOSUB2110
2370 PRINT"[221]";
2380 UL=3:US$="-0123456789":GOSUB35:T$=UR$:IFVAL(UR$)=0THENN0=N0+1
2400 OP$((DD-13)/2,(RR-18)/4+1)=T$:NEXTRR:PRINT"[157][157][221]":NEXTDD
2450 IFOP$(4,4)="0"THENOP$(4,4)="1"
2460 FORI=1TO4:FORJ=2TO4STEP2
2470 V1=VAL(OP$(I,J)):V2=VAL(OP$(I,J+1))
2475 IFV1>100ORV2>100THENPRINT"[150]ENTRIES MUST BE UNDER 101[155]":GOSUB835:GOTO1670
2480 IFV1>V2THENSS$=OP$(I,J+1):OP$(I,J+1)=OP$(I,J):OP$(I,J)=SS$
2490 IFN0>14THENPRINT"[150]POOR ENTRIES[155]":GOSUB835:GOTO1670
2500 NEXTJ,I:RETURN
2510 PRINT:PRINT"NUMBERS MUST BE BETWEEN -99 AND 100":GOSUB2130:RETURN
2520 REM**PRINT OUT O**
2530 DD=DO:RR=RO:GOSUB2110
2540 FORI=1TO6:PRINTO$(I):DD=DD+1:GOSUB2110:NEXTI:GOTO2566
2550 DD=DX:RR=RX:GOSUB2110
2560 FORI=1TO6:PRINTX$(I):DD=DD+1:GOSUB2110:NEXTI
2566 RETURN
2570 PRINT"[147]";:POKE UT,UU%:PRINTB$(1);B$(2);
2580 FORI=1TO5:PRINTB$(3);:NEXT
2590 PRINTB$(4);B$(5);
2600 FORI=1TO5:PRINTB$(3);:NEXT
2610 PRINTB$(4);B$(6);
2620 FORI=1TO5:PRINTB$(3);:NEXT
2630 PRINTB$(7);:RETURN
2640 FORI=1TO9
2650 R%=RND(1)*4+1
2660 ZA=VAL(OP$(R%,2)):ZA=VAL(OP$(R%,3)):LB=VAL(OP$(R%,4)):ZB=VAL(OP$(R%,5))
2670 IFLA=ZAORLB=ZBTHEN2650
2680 RA%=RND(1)*(ZA-LA)+LA:RB%=RND(1)*(ZB-LB)+LB+.5
2690 IFR%=4THEN2730
2700 IFR%=1THENAN(I,1)=RA%+RB%
2710 IFR%=2THENAN(I,1)=RA%-RB%
2720 IFR%=3THENAN(I,1)=RA%*RB%
2730 IFR%=4THENAN(I,1)=INT(RND(1)*(SQR(ZA)-LA)+LA):RA%=AN(I,1)*RB%
2740 DD=INT((I-.1)/3)*7+2
2750 RR=((I+2)-((INT((I+2)/3))*3))*13+2
2760 GOSUB2110
2770 PRINTRA%;MID$(OP$(R%,1),3,1);RB%;"=":NEXTI:RETURN
2780 DD=INT((BO-.1)/3)*7+6
2790 RR=((BO+2)-((INT((BO+2)/3))*3))*13+2
2800 GOSUB2110
2810 IFF=2THENPRINT" ":RETURN
2820 PRINT"ANS= [157][157][157][157][157][157]";
2830 T1$=""
2840 PRINT"?";
2850 UL=5:US$="-0123456789":GOSUB 35:T1$=UR$
2920 AN=VAL(T1$):RETURN
2930 DD=INT((BO-.1)/3)*7+1
2940 RR=((BO+2)-((INT((BO+2)/3))*3))*13+2
2950 IFPL$="X"THENAN(BO,2)=1:GOTO3020
2960 AN(BO,2)=-1
2970 GOSUB2110
2980 FORI=1TO6:PRINTO$(I):DD=DD+1:GOSUB2110:NEXTI
2990 GOSUB3070 @CHECK"[215]"WIN
3000 IFFL=2THENRETURN
3010 FL=1:RETURN
3020 GOSUB2110
3030 FORI=1TO6:PRINTX$(I):DD=DD+1:GOSUB2110:NEXTI
3040 GOSUB3070 @CHECK"[214]"WIN
3050 IFFL=2THENRETURN
3060 FL=1:RETURN
3070 IFAN(1,2)=AN(5,2)ANDAN(5,2)=AN(9,2)ANDAN(1,2)<>0THEN3160
3080 IFAN(3,2)=AN(5,2)ANDAN(5,2)=AN(7,2)ANDAN(5,2)<>0THEN3160
3090 IFAN(1,2)=AN(4,2)ANDAN(4,2)=AN(7,2)ANDAN(1,2)<>0THEN3160
3100 IFAN(2,2)=AN(5,2)ANDAN(5,2)=AN(8,2)ANDAN(2,2)<>0THEN3160
3110 IFAN(3,2)=AN(6,2)ANDAN(6,2)=AN(9,2)ANDAN(3,2)<>0THEN3160
3120 IFAN(1,2)=AN(2,2)ANDAN(2,2)=AN(3,2)ANDAN(1,2)<>0THEN3160
3130 IFAN(4,2)=AN(5,2)ANDAN(5,2)=AN(6,2)ANDAN(4,2)<>0THEN3160
3140 IFAN(7,2)=AN(8,2)ANDAN(8,2)=AN(9,2)ANDAN(7,2)<>0THEN3160
3150 RETURN
3160 FORI=1TO250:NEXTI
3170 FL=2
3180 PRINT"[147]"
3190 DD=9:RR=17:GOSUB2110
3200 IFPL$="X"THEN3220
3210 FORI=1TO6:PRINTO$(I):DD=DD+1:GOSUB2110:NEXT:PRINT"[158]YOU WIN![155]"
3215 GOSUB700:GOSUB700:GOSUB3230:RETURN
3220 FORI=1TO6:PRINTX$(I):DD=DD+1:GOSUB2110:NEXT:PRINT"[158]YOU WIN![155]"
3225 GOSUB700:GOSUB791:GOSUB760:GOSUB760:RETURN
3230 REM ** P=59464:POKE59467,16
3240 POKE59466,15
3250 FORJ=1TO5
3260 POKE59409,228:FORK=1TO50:NEXTK:POKE59409,60
3270 FORI=20TO130:POKEP,I:NEXTI
3280 NEXTJ
3290 POKEP,0:POKE59467,0:POKE59466,0
3300 RETURN
3310 P=59464:POKE59467,16
3320 POKE59466,15
3330 FORI=1TO35:POKEP,255:POKEP,200:POKEP,150:NEXTI
3340 POKEP,0:POKE59467,0:POKE59466,0
3350 RETURN
3360 P=59464:POKE59467,16
3370 POKE59466,15
3380 POKEP,50:FORI=1TO50:NEXTI
3390 POKEP,0:POKE59467,0:POKE59466,0
3400 RETURN
4999 :
5000 REM WHC 90:11:29